52f5e186957b49dbaaaf5e72be2a7dd1b640bf1c,core/kernel/source/jetbrains/mps/smodel/persistence/def/v0/ReferencePersister0.java,ReferencePersister0,createReferenceInModelDoNotAddToSourceNode,#SModel#VisibleModelElements#,104

Before Change


    String resolveInfo = ExternalResolver.getHumanFriendlyString(extResolveInfo);
    SNodeId targetId = ERI2IDConverter.convert(this.getSourceNode(), this.getRole(), extResolveInfo);
    if (targetId != null) {
      return SReference.create(this.getRole(),
              this.getSourceNode(),
              importedModelUID,
              targetId,
              resolveInfo);
    }

    // couldn't convert

After Change



  // -- create reference
  SReference createReferenceInModelDoNotAddToSourceNode(SModel model, VisibleModelElements visibleModelElements) {
    SModelUID importedModelUID = model.getUID();
    if (myUseUIDs) {
      if (!myImportedModelInfo.equals("-1")) {
        importedModelUID = SModelUID.fromString(myImportedModelInfo);
      }
    } else if (getImportIndex() > -1) {
      if (myNotImported) {
        importedModelUID = visibleModelElements.getModelUID(getImportIndex());
      } else {
        importedModelUID = model.getImportedModelUID(getImportIndex());
      }
      if (importedModelUID == null) {
        LOG.error("Couldn't create reference from " + this.getSourceNode().getDebugText() + " : import for index [" + getImportIndex() + "] not found");
        return null;
      }
    }

    if (this.getExtResolveInfo() == null) {
      return new StaticReference(this.getRole(),
              this.getSourceNode(),
              importedModelUID,
              SNodeId.fromString(this.getTargetId()),
              this.getResolveInfo());
    }

    String extResolveInfo = this.getExtResolveInfo();
    String resolveInfo = ExternalResolver.getHumanFriendlyString(extResolveInfo);
    SNodeId targetId = ERI2IDConverter.convert(this.getSourceNode(), this.getRole(), extResolveInfo);
    if (targetId != null) {
      return new StaticReference(this.getRole(),
              this.getSourceNode(),
              importedModelUID,
              targetId,
              resolveInfo);
    }

    // couldn't convert